deal_dup_expr <- \(expr, gene_col = "Gene Symbol", type = "median"){
    colnames(expr)[colnames(expr) == gene_col] <- "gene"

    expr = expr %>% select(gene,everything())
    which(duplicated(expr$gene)) -> i

    expr %>% filter(gene %in% expr$gene[i]) -> dup_expr
    expr %>% filter(!gene %in% expr$gene[i]) -> no_dup_expr

    cli::cli_alert_info("processing duplicted gene's expression...")
    dup_expr %<>% group_by(gene) %>% summarise_all(.funs = get0(type))

    bind_rows(no_dup_expr, dup_expr) %>%
        as.data.frame(expr) %>%
        column_to_rownames("gene") -> expr

    expr = expr[!str_detect(rownames(expr),'///'),]

    return(expr)
}